From 0492e024e6aeea5c5e48ebd0ad2bedc3b425d949 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 26 Jun 2012 16:23:43 +0100 Subject: [PATCH] arm: allocate top level p2m page for all non-idle domains Not just dom0. Signed-off-by: Ian Campbell Acked-by: Tim Deegan Committed-by: Ian Campbell --- xen/arch/arm/domain.c | 3 +++ xen/arch/arm/p2m.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index 570239945f..4b3879078e 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -201,6 +201,9 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags) clear_page(d->shared_info); share_xen_page_with_guest( virt_to_page(d->shared_info), d, XENSHARE_writable); + + if ( (rc = p2m_alloc_table(d)) != 0 ) + goto fail; } d->max_vcpus = 8; diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index 051a0e89dd..4f624d8a67 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -203,7 +203,7 @@ int p2m_alloc_table(struct domain *d) void *p; /* First level P2M is 2 consecutive pages */ - page = alloc_domheap_pages(d, 1, 0); + page = alloc_domheap_pages(NULL, 1, 0); if ( page == NULL ) return -ENOMEM; -- 2.30.2